//函数作为返回值

//once  给一个DOM元素注册一次性事件
function once (fn) {
    let done = false;
    return function () {
        if(!done) {
            done = true;            //这里由于闭包的原因，当返回的函数未回收时则一直存在
            return fn.apply(this, arguments);
        }
    }
}

let pay = once(function (money) {
    console.log(`支付: ${money} RMB`);	//模板字符串使用反引号
});

pay(5);
pay(5);
pay(5);
pay(5);